Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

301
Views
"Error de análisis: Importación de token inesperada" al acceder a import.meta.url (Cloud9 IDE)

Con el siguiente código node.js:

 import { fileURLToPath } from 'node:url'; import path from 'node:path'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(fileURLToPath(import.meta.url));

Veo el siguiente error de pelusa relacionado con la referencia import.meta.url :

ingrese la descripción de la imagen aquí

Este fragmento es para replicar __filename y __dirname en ESM según la guía de node.js. Se da el mismo error cuando se usa import.meta.url de la siguiente manera... que también se encuentra en la guía oficial :

 import { readFileSync } from 'fs'; const buffer = readFileSync(new URL('./data.proto', import.meta.url));

He mirado esto pero no resuelve mi problema. Esto está específicamente dentro del IDE de Cloud9... no el AWS Cloud9 actual, sino un Cloud9 autohospedado basado en este repositorio (actualizado por última vez hace 4 años). La única guía de (AWS) Cloud9 está en esta página :

ingrese la descripción de la imagen aquí

Puedo hacer que ciertas reglas básicas funcionen usando este archivo .eslintrc , por ejemplo

 { rules: { semi: ["error", "never"] } }

ingrese la descripción de la imagen aquí

Entonces sé que el archivo de configuración está surtiendo efecto en el IDE. Pero no puedo ver la regla apropiada para deshabilitar el error de "importación de token inesperada".

EDITAR: lo siguiente parece relevante, pero no puedo determinar si alguna vez realmente llegó a una conclusión:

https://github.com/eslint/eslint/issues/12518

https://github.com/eslint/eslint/pull/13196

https://github.com/eslint/eslint/issues/13133

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Esta es en realidad una conjetura, ya que no estoy usando el IDE de Cloud9. Si se reconoce su archivo .eslintrc, lo que necesita agregar allí son las opciones de analizador adecuadas, por ejemplo:

 { "parserOptions": { "ecmaVersion": 2020, "sourceType": "module" }, "rules": { "semi": ["error", "never"] } }

El motivo es que el analizador ESLint trata de forma predeterminada todas las fuentes de JavaScript como scripts ES5, mientras que la sintaxis import.meta solo se permite en módulos desde ECMAScript 2020.

Actualizar

La configuración "ecmaVersion": 2020 es compatible con ESLint 6 en adelante. Otra opción para que se reconozca import.meta es usar un analizador personalizado como Babel. Los paquetes a instalar para el analizador de Babel son @babel/core y @babel/eslint-parser . Y las configuraciones relevantes en .eslintrc están aquí:

 { "parser": "@babel/eslint-parser", "parserOptions": { "ecmaVersion": 2020, "requireConfigFile": false },

Nota: No pude averiguar qué versiones de ESLint son compatibles con el analizador de Babel en la documentación de su repositorio (enlace anterior). Solo puedo ver en el código que ESLint 7 y 8 son compatibles. Si la versión actual de Babel no funciona con su versión de ESLint, es posible que deba intentar instalar versiones anteriores y ver si funcionan. Y en ese caso, es posible que se requiera un complemento adicional como syntax-import-meta .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!